From: Peter Bloomfield Date: Mon, 12 Mar 2018 21:46:57 +0000 (-0400) Subject: gtkimmodule: make match_backend() query X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~36^2~47^2~1 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6e2d14037cea356638a9bea7b611cbe23bc90b47;p=gtk%2B3.0.git gtkimmodule: make match_backend() query …the wayland registry. Wnen _gtk_im_module_get_default_context_id calls match_backend (context_id) and the default GdkDisplay is wayland, match_backend() should return TRUE only if gdk_wayland_display_query_registry (display, "gtk_text_input_manager") returns TRUE. --- diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 018723fd4d..93c1bea0ad 100644 --- a/gtk/gtkimmodule.c +++ b/gtk/gtkimmodule.c @@ -697,7 +697,13 @@ match_backend (GtkIMContextInfo *context) { #ifdef GDK_WINDOWING_WAYLAND if (g_strcmp0 (context->context_id, "wayland") == 0) - return GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()); + { + GdkDisplay *display = gdk_display_get_default (); + + return GDK_IS_WAYLAND_DISPLAY (display) && + gdk_wayland_display_query_registry (display, + "gtk_text_input_manager"); + } #endif #ifdef GDK_WINDOWING_BROADWAY